package com.ruoyi.task.service;

import com.ruoyi.task.domain.EquipmentChannelConfig;
import java.util.List;

import com.ruoyi.task.domain.EquipmentCameraImportConfig;
import com.ruoyi.task.domain.EquipmentConfig;
import com.ruoyi.task.domain.TaskImportConfig;

/**
 * 网点摄像头配置Service接口
 * 
 * @author ruoyi
 * @date 2025-04-22
 */
public interface IEquipmentConfigService 
{
    /**
     * 查询网点摄像头配置
     * 
     * @param equipmentId 网点摄像头配置主键
     * @return 网点摄像头配置
     */
    public EquipmentConfig selectEquipmentConfigByEquipmentId(Long equipmentId);


    public EquipmentChannelConfig selectChannelConfigByChannelId(Long channelId);

    /**
     * 查询网点摄像头配置列表
     * 
     * @param equipmentConfig 网点摄像头配置
     * @return 网点摄像头配置集合
     */
    public List<EquipmentConfig> selectEquipmentConfigList(EquipmentConfig equipmentConfig);


    /**
     * 查询录像机摄像头配置信息列表
     * @param equipmentConfig
     * @return
     */
    public List<EquipmentChannelConfig> selectEquipmentChannelConfigList(EquipmentChannelConfig equipmentConfig);

    /**
     * 新增网点摄像头配置
     * 
     * @param equipmentConfig 网点摄像头配置
     * @return 结果
     */
    public int insertEquipmentConfig(EquipmentConfig equipmentConfig);

    /**
     * 修改网点摄像头配置
     * 
     * @param equipmentConfig 网点摄像头配置
     * @return 结果
     */
    public int updateEquipmentConfig(EquipmentConfig equipmentConfig);

    /**
     * 批量删除网点摄像头配置
     * 
     * @param equipmentIds 需要删除的网点摄像头配置主键集合
     * @return 结果
     */
    public int deleteEquipmentConfigByEquipmentIds(Long[] equipmentIds);

    /**
     * 删除网点摄像头配置信息
     * 
     * @param equipmentId 网点摄像头配置主键
     * @return 结果
     */
    public int deleteEquipmentConfigByEquipmentId(Long equipmentId);

    /**
     * 导入任务配置配置信息
     *
     * @param equipmentCameraConfigs 导入文件参数
     * @return 结果
     */

    public boolean importEquipmentCameraImportConfig(List<EquipmentCameraImportConfig> equipmentCameraConfigs, String createBy);
}
